import { ColProps } from 'ant-design-vue';
import { Slot } from 'vue';

export type FormItemConfig = {
  type: any;
  layout?: 'horizontal' | 'vertical' | 'inline';
  key?: string;
  grid?: any;
  name?: string;
  label?: string;
  rules?: any[] | any;
  colon?: boolean;
  options?: any[];
  extra?: string | Slot;
  hasFeedback?: boolean;
  help?: string | Slot;
  labelAlign?: 'left' | 'right';
  labelCol?: ColProps;
  required?: boolean;
  tooltip?: string | Slot;
  validateFirst?: boolean;
  validateStatus?: 'success' | 'warning' | 'error' | 'validating';
  validateTrigger?: string | string[];
  wrapperCol?: ColProps;
  itemModel?: string;
  when?: (values: Partial<any>) => boolean;
  attrs?: Partial<any>;
};
